Document processing software allows users to view, edit, process, store, and print documents conveniently. Documents are typically described in a markup language format. The markup language format describes the content (including text and images), location of the content, and the format of the content (including color and font) within a document. The markup language typically does not provide sufficient information on how the document is to be rendered on a display or printed.
When a document described using a markup language is rendered, a typesetting program may be used to determine how to layout the content in the document in order for the document to be displayed or printed. For example, a typesetting program such as TeX may be used to typeset the document prior to displaying or printing the document and, in particular, specify the format and position of printable data on a screen or page(s). More specifically, typesetting programs take unformatted text and commands as input and produce formatted (laid-out) text as output.
Conventional typesetting programs may not be able to process all items defined using a markup language, such as Office Open eXtensible Markup Language (“OOXML”). For example, the typesetting program may not include functionality to process vector graphic and/or image data.